package cn.xawl.gulimall.product.feign;

import cn.xawl.common.to.MemberPriceTo;
import cn.xawl.common.to.SkuFullReductionTo;
import cn.xawl.common.to.SkuLadderTo;
import cn.xawl.common.to.SpuBoundTo;
import cn.xawl.common.utils.R;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;

import java.util.List;

/**
 * @author lh
 * @date 2020/06/25 16:32:11
 *
 * 只要对象和真正的controller的对象 属性一致，不同对象也可以
 *
 **/
@FeignClient("gulimall-coupon")
public interface CouponFeign {

    /**
     * 保存sku的积分信息
     * @param spuBoundTo sku级分传输对象
     */
    @RequestMapping("/coupon/spubounds/save")
    R saveSpuBound(@RequestBody SpuBoundTo spuBoundTo);

    /**
     * 保存sku满减信息
     * @param skuFullReductionTo sku满减传输对象（满xxx减xxx）
     */
    @RequestMapping("/coupon/skufullreduction/save")
    R saveSkuFullReduction(@RequestBody SkuFullReductionTo skuFullReductionTo);

    /**
     * 保存sku的阶梯满减信息（满几件打几折）
     * @param skuLadderTo 阶梯满减传输对象
     */
    @RequestMapping("/coupon/skuladder/save")
    R saveSkuLadder(@RequestBody SkuLadderTo skuLadderTo);

    /**
     * 批量保存会员价格
     * @param memberPriceTos 会员价格传输对象
     */
    @RequestMapping("/coupon/memberprice/batch/save")
    R saveMemberPrice(@RequestBody List<MemberPriceTo> memberPriceTos);

}
